home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / news / inn1.000 / inn1.4sec-linux-src.tar / inn / lib / getdtab.c < prev    next >
C/C++ Source or Header  |  1993-01-29  |  1KB  |  89 lines

  1. /*  $Revision: 1.6 $
  2. **
  3. */
  4. #include <stdio.h>
  5. #include <sys/types.h>
  6. #include <sys/param.h>
  7. #include "configdata.h"
  8.  
  9.  
  10. #if    defined(FDCOUNT_GETDTAB)
  11. int
  12. getfdcount()
  13. {
  14.     static int        size;
  15.  
  16.     if (size <= 0) {
  17.     if ((size = getdtablesize()) < 0)
  18.         return -1;
  19.     }
  20.     return size;
  21. }
  22. #endif    /* defined(FDCOUNT_GETDTAB) */
  23.  
  24.  
  25. #if    defined(FDCOUNT_GETRLIMIT)
  26. #include <sys/time.h>
  27. #include <sys/resource.h>
  28.  
  29. int
  30. getfdcount()
  31. {
  32.     static int        size;
  33.     struct rlimit    rl;
  34.  
  35.     if (size <= 0) {
  36.     if (getrlimit(RLIMIT_NOFILE, &rl) < 0)
  37.         return -1;
  38.     size = rl.rlim_cur;
  39.     }
  40.     return size;
  41. }
  42. #endif    /* defined(FDCOUNT_GETRLIMIT) */
  43.  
  44.  
  45. #if    defined(FDCOUNT_SYSCONF)
  46. #include <unistd.h>
  47. #include <limits.h>
  48.  
  49. int
  50. getfdcount()
  51. {
  52.     static int        size;
  53.  
  54.     if (size <= 0) {
  55.     if ((size = sysconf(_SC_OPEN_MAX)) < 0)
  56.         return -1;
  57.     }
  58.     return size;
  59. }
  60. #endif    /* defined(FDCOUNT_SYSCONF) */
  61.  
  62.  
  63. #if    defined(FDCOUNT_ULIMIT)
  64. int
  65. getfdcount()
  66. {
  67.     static int        size;
  68.  
  69.     if (size <= 0) {
  70.     if ((size = ulimit(4, 0L)) < 0)
  71.         return -1;
  72.     }
  73.     return size;
  74. }
  75. #endif    /* defined(FDCOUNT_ULIMIT) */
  76.  
  77.  
  78. #if    defined(FDCOUNT_CONSTANT)
  79. int
  80. getfdcount()
  81. {
  82. #if    defined(NOFILE)
  83.     return NOFILE;
  84. #else
  85.     return 20;
  86. #endif    /* defined(NOFILE) */
  87. }
  88. #endif    /* defined(FDCOUNT_CONSTANT) */
  89.